Nous allons aborder les fonctions succinctes qui nous permettrons de filtrer l'image.
Exécutez le programme suivant :
from PIL import Image
img = Image.open("couleurs.jpg")
print("Format, taille et codage de l'image :")
l, h = img.size
formI=img.format
codeI=img.mode
print(formI, l, h, codeI )
imshow(img) #affiche l'image
1. Afin d'afficher les codes RVB de chaque pixel de l'image, nous devons réaliser la lecture de tous les pixels d'une ligne et ce, sur chaque ligne. Nous devons alors réaliser une boucle qui se déplace en x sur toute la largeur dans une autre boucle qui se déplace en y sur toute la hauteur. Complétez la procédure "affichePix(image)" qui affiche tous les pixels de l'image.
def affichePix(image):
l,h = image.size
for y in range(h):
# A compléter
affichePix(img)
Pour effectuer des modifications sur une image, nous devons créer une nouvelle image RVB ayant les mêmes dimensions que la première : newimg = Image.new("RGB", (l,h))
Nous pouvons alors remplir cette nouvelle image avec des pixels : newimg.putpixel((x,y),(rvb[0],rvb[1],rvb[2])).
Pour créer un filtre de couleur rouge sur l’image, il suffit de supprimer les pixels Verts et Bleus et de garder uniquement les pixels Rouges. Vous devez donc :
2. Réalisez la fonction filtreR() qui prend comme paramètre l’image "perroquet.jpg" et retourne la nouvelle image filtrée. Affichez la à l’écran.
l,h = image.size
newimg = Image.new("RGB",(l,h))
# A compléter
return newimg
img2 = Image.open("perroquet.jpg")
perroquetR = filtreR(img2)
img2.show()
Pour transformer une image en niveaux de gris, nous utilisons la méthode convert() comme suit : imgNG = img.convert(‘L’).
3. Transformez l’image en niveaux de gris "perroquetNG" et l'afficher.
On désire transformer l'image en niveau de gris précédente par une image en noir et blanc. Nous devons donc remplacer les pixels inférieurs à 128 par 0 et ceux supérieurs à 128 par 255.
4. Complétez et exécutez le programme suivant :
l, h = perroquetNG.size
perroquetNB = Image.new("L",(l,h))
# A compléter
Source : https://lesmanuelslibres.region-academique-idf.fr Télécharger le manuel : https://forge.apps.education.fr/drane-ile-de-france/les-manuels-libres/snt-seconde ou directement le fichier ZIP Sous réserve des droits de propriété intellectuelle de tiers, les contenus de ce site sont proposés dans le cadre du droit Français sous licence CC BY-NC-SA 4.0